<?php

namespace app\api\controller;

use app\common\controller\Api;
use think\Db;
use think\Response;

/**
 * 示例接口
 */
class register extends Api
{

    //如果$noNeedLogin为空表示所有接口都需要登录才能请求
    //如果$noNeedRight为空表示所有接口都需要验证权限才能请求
    //如果接口已经设置无需登录,那也就无需鉴权了
    //
    // 无需登录的接口,*表示全部
    protected $noNeedLogin = ['*', '*'];
    // 无需鉴权的接口,*表示全部
    protected $noNeedRight = ['*'];

    /**
     * 测试方法
     *
     * @ApiTitle    (测试名称)
     * @ApiSummary  (测试描述信息)
     * @ApiMethod   (POST)
     * @ApiRoute    (/api/demo/test/id/{id}/name/{name})
     * @ApiHeaders  (name=token, type=string, required=true, description="请求的Token")
     * @ApiParams   (name="id", type="integer", required=true, description="会员ID")
     * @ApiParams   (name="name", type="string", required=true, description="用户名")
     * @ApiParams   (name="data", type="object", sample="{'user_id':'int','user_name':'string','profile':{'email':'string','age':'integer'}}", description="扩展数据")
     * @ApiReturnParams   (name="code", type="integer", required=true, sample="0")
     * @ApiReturnParams   (name="msg", type="string", required=true, sample="返回成功")
     * @ApiReturnParams   (name="data", type="object", sample="{'user_id':'int','user_name':'string','profile':{'email':'string','age':'integer'}}", description="扩展数据返回")
     * @ApiReturn   ({
         'code':'1',
         'msg':'返回成功'
        })
     */
   public function register()
    {
        $data = input('post.');

        $res = Db::name('admin_register')->insert($data);

        // return json_encode($data,JSON_UNESCAPED_UNICODE);
        // $this->success('返回成功', $this->request->param());
    }

    public function list(){
        $data = Db::name('admin_register')->select();
        return json_encode($data,JSON_UNESCAPED_UNICODE);
    }

    public function firm(){
    // 查询type字段
    $firm = Db::name('corporation')->field('name')->select();
    // 映射转换，只保留type值，形成简单数组
    $firm = array_column($firm, 'name');

    return json_encode($firm, JSON_UNESCAPED_UNICODE);
    }
    
    public function findOne(){
        $id = input('post.id');
        // var_dump($id);die();
        $data = Db::name('admin_register')->find($id);
        return json_encode($data,JSON_UNESCAPED_UNICODE);
    }

    
    public function addnav()
    {
        $data = input('post.');
        $res = Db::name('admin_register')->insert($data);
        if ($res) {
            return '添加成功';
        }else{
            return '添加失败';
        }
         
        // return json_encode($data,JSON_UNESCAPED_UNICODE);
        // $this->success('返回成功', $this->request->param());
    }
     public function findTwo(){
               $data = Db::name('auth_group')->select();
               $arr = [];
               foreach ($data as $key => $value) {
                  $arr[$key] = $value['name'];
               }

               $data['arr'] = $arr;
                // var_dump($data);die();
               return json_encode($data,JSON_UNESCAPED_UNICODE);
    }
    //权限接口
    public function findto(){
        // 查询主数据
        $data = Db::name('auth_group')->where('pid', 1)->select();

        // 初始化两个空数组，用于存储主数据项和对应的子数据项
        $columns = [];
        $columnData = [];

        // 遍历主数据，对每个主数据项查询对应的子数据项
        foreach ($data as $key => $value) {
            // 查询对应的子数据项
            $datas = Db::name('auth_group')->where("pid", $value['id'])->select();
            
            // 提取主数据项的名称到$columns数组
            $columns[] = $value['name'];
            
            // 提取子数据项的名称到$columnData数组
            $subData = [];
            foreach ($datas as $subKey => $subValue) {
                $subData[] = $subValue['name'];
            }
            $columnData[] = $subData;
        }
 
        // 构造最终的目标格式数组
        $result = [
            'columns' => [$columns],
            'columnData' => $columnData,
        ];
        // dump($result);die;
        // 转换成JSON格式
        return json_encode($result,JSON_UNESCAPED_UNICODE);
    }




     public function add()
    {
        $data = input('post.');
         // var_dump($data['posthot']);die();
        $res = Db::name('admin_register')->insert($data);
        // return json_encode($data,JSON_UNESCAPED_UNICODE);
        // $this->success('返回成功', $this->request->param());
    }
}
